﻿namespace MetaProperties.Core
{
    using System;

    /// <summary>
    /// Attribute to specify the synchronization context container type for a MetaProperty.
    /// </summary>
    [AttributeUsage(AttributeTargets.Property)]
    public sealed class SetSynchronizationContextContainerAttribute : Attribute
    {
        /// <summary>
        /// Initializes a new instance of the <see cref="SetSynchronizationContextContainerAttribute"/> class.
        /// </summary>
        /// <param name="containerType">Type of the container.</param>
        public SetSynchronizationContextContainerAttribute(Type containerType)
        {
            this.ContainerType = containerType;
        }

        /// <summary>
        /// Gets the type of the container.
        /// </summary>
        /// <value>The type of the container.</value>
        public Type ContainerType
        {
            get;
            private set;
        }
    }
}
